home *** CD-ROM | disk | FTP | other *** search
- The UNITRK(tm) Format:
- ======================
-
- A UNITRK stream is an array of bytes representing a single track of a
- pattern. It's made up of 'repeat/length' bytes, opcodes and operands (sort
- of a assembly language):
-
- rrrlllll
- [REP/LEN][OPCODE][OPERAND][OPCODE][OPERAND] [REP/LEN][OPCODE][OPERAND]..
- ^ ^ ^
- |-------ROWS 0 - 0+REP of a track---------| |-ROWS xx - xx+REP of a track..
-
-
- The len field (lower 5 bits) of the rep/len byte contains the number of
- bytes in the current row, _including_ the rep/len byte itself (So the len
- field of row in the previous example would have a value of 5). This makes
- it easy to search through a stream for a particular row. A track is conclu-
- ded by a 0-value rep/len byte.
-
- The upper 3 bits of the rep/len byte contain the number of times -1 this
- row is repeated for this track (so a value of 7 means this row is repeated
- 8 times).
-
- Opcodes can range from 1 to 255 but currently only opcodes 1 to 19 are
- being used. Each opcode can have a different number of operands. You can
- find the number of operands to a particular opcode by using the opcode as
- an index into the 'unioperands' table (UNITRK.C) . The opcodes itself are
- defined in 'UNITRK.H'.